<?php

namespace HikCloud\RestApi\Estate\EntranceGuard\permissionGroups;

use HikCloud\RestApi\HikRestOutApi;


/**
 * 更新人员信息
 * 接口描述
 * 更新人员信息
 * 名称    类型    长度    是否必填    描述
 * personName    String    16    是    人员姓名
 * employeeNo    String    32    是    人员编号，同一个租户下不能重复，只支持英文、数字
 * personPhone    String    11    否    人员手机号
 * faceImageBase64    String    /    否    base64编码的人脸图片，图片大小需小于200kB，数据需去除base64前缀
 * verifyImage    Boolean    /    否    是否进行人脸质量校验，默认：true；如果调用方能保证人脸的质量符合标准那么可以配置为false,注意：如果调用方不能保证人脸质量，而且不对人脸质量校验，那么图片质量差的人脸可能会下发到设备，可能导致人脸下发失败
 * floorNo    Integer    /    否    楼层号，取值1-999
 * roomNo    Integer    /    否    房间号，取值1-99
 * validBeginTime    String    /    是    人员权限开始时间，日期格式只支持如下两种格式：(1)权限精确到天，示例：2020-01-01 (2)权限精确到秒并加上时区，示例：2019-01-29T00:00:59+08:00
 * validEndTime    String    /    是    人员权限结束时间，日期格式只支持如下两种格式：(1)权限精确到天，示例：2020-01-01 (2)权限精确到秒并加上时区，例如：2019-01-29T00:00:59+08:00 ; 结束时间需早于2037-12-31
 * planTemplateNos    List    /    否    人员计划模板列表，不填时默认为[1] 代表计划模板 1(全天候模板 )； 调用计划模板修改接口，修改计划模板1可能会影响默认计划模板人员的权限。
 * dynamicCode    String    6    否    人员开门码，仅支持6位纯数字，且必须是6位；门禁设备不支持该字段，可视对讲设备支持
 * belongGroup    String    32    否    所属群组，多个以英文逗号分隔，例如”1,3,5”，最多支持4个；该字段仅多重认证功能使用，其他场景禁止使用
 * Class Create
 * @package HikCloud\RestApi\Estate\EntranceGuard\permissionGroups
 */
class Update extends HikRestOutApi
{
    protected $api = '/api/v1/open/basic/persons/update';

    public $method = 'POST';
    public $header;

    protected $required_params = [
        'personName'     => '',
        'employeeNo'     => '',
        'validBeginTime' => '',
        'validEndTime'   => '',
    ];

    protected $optional_params = [
        'personPhone'     => '',
        'personType'      => '',
        'faceImageBase64' => '',
        'verifyImage'     => '',
        'floorNo'         => '',
        'roomNo'          => '',
        'planTemplateNos' => '',
        'dynamicCode'     => '',
        'maxOpenDoorTime' => '',
        'belongGroup'     => '',
    ];

    public function __construct()
    {
        parent::__construct();
    }

}